<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="Keras，Python 深度学习库中文文档。">
  
  <link rel="shortcut icon" href="img/favicon.ico">
  <title>主页 - Keras 中文文档</title>
  <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>

  <link rel="stylesheet" href="css/theme.css" type="text/css" />
  <link rel="stylesheet" href="css/theme_extra.css" type="text/css" />
  <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css">
  
  <script>
    // Current page data
    var mkdocs_page_name = "\u4e3b\u9875";
    var mkdocs_page_input_path = "index.md";
    var mkdocs_page_url = "/zh/";
  </script>
  
  <script src="js/jquery-2.1.1.min.js" defer></script>
  <script src="js/modernizr-2.8.3.min.js" defer></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
  <script>hljs.initHighlightingOnLoad();</script> 
  
  <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-61785484-1', 'keras.io');
      ga('send', 'pageview');
  </script>
  
</head>

<body class="wy-body-for-nav" role="document">

  <div class="wy-grid-for-nav">

    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
      <div class="wy-side-nav-search">
        <a href="." class="icon icon-home"> Keras 中文文档</a>
        <div role="search">
  <form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" title="Type search term here" />
  </form>
</div>
      </div>

      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
	<ul class="current">
	  
          
            <li class="toctree-l1 current">
		
    <a class="current" href=".">主页</a>
    <ul class="subnav">
            
    <li class="toctree-l2"><a href="#keras-python">Keras: 基于 Python 的深度学习库</a></li>
    
        <ul>
        
            <li><a class="toctree-l3" href="#keras">你恰好发现了 Keras。</a></li>
        
            <li><a class="toctree-l3" href="#_1">指导原则</a></li>
        
            <li><a class="toctree-l3" href="#30-keras">快速开始：30 秒上手 Keras</a></li>
        
            <li><a class="toctree-l3" href="#_2">安装指引</a></li>
        
            <li><a class="toctree-l3" href="#keras_1">配置你的 Keras 后端</a></li>
        
            <li><a class="toctree-l3" href="#_3">技术支持</a></li>
        
            <li><a class="toctree-l3" href="#keras_2">为什么取名为 Keras?</a></li>
        
        </ul>
    

    </ul>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="why-use-keras/">为什么选择 Keras?</a>
	    </li>
          
            <li class="toctree-l1">
		
    <span class="caption-text">快速开始</span>
    <ul class="subnav">
                <li class="">
                    
    <a class="" href="getting-started/sequential-model-guide/">Sequential 顺序模型指引</a>
                </li>
                <li class="">
                    
    <a class="" href="getting-started/functional-api-guide/">函数式 API 指引</a>
                </li>
                <li class="">
                    
    <a class="" href="getting-started/faq/">FAQ 常见问题解答</a>
                </li>
    </ul>
	    </li>
          
            <li class="toctree-l1">
		
    <span class="caption-text">模型</span>
    <ul class="subnav">
                <li class="">
                    
    <a class="" href="models/about-keras-models/">关于 Keras 模型</a>
                </li>
                <li class="">
                    
    <a class="" href="models/sequential/">Sequential 顺序模型 API</a>
                </li>
                <li class="">
                    
    <a class="" href="models/model/">函数式 API</a>
                </li>
    </ul>
	    </li>
          
            <li class="toctree-l1">
		
    <span class="caption-text">Layers</span>
    <ul class="subnav">
                <li class="">
                    
    <a class="" href="layers/about-keras-layers/">关于 Keras 网络层</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/core/">核心网络层</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/convolutional/">卷积层 Convolutional</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/pooling/">池化层 Pooling</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/local/">局部连接层 Locally-connected</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/recurrent/">循环层 Recurrent</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/embeddings/">嵌入层 Embedding</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/merge/">融合层 Merge</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/advanced-activations/">高级激活层 Advanced Activations</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/normalization/">标准化层 Normalization</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/noise/">噪声层 Noise</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/wrappers/">层封装器 wrappers</a>
                </li>
                <li class="">
                    
    <a class="" href="layers/writing-your-own-keras-layers/">编写你自己的层</a>
                </li>
    </ul>
	    </li>
          
            <li class="toctree-l1">
		
    <span class="caption-text">数据预处理</span>
    <ul class="subnav">
                <li class="">
                    
    <a class="" href="preprocessing/sequence/">序列预处理</a>
                </li>
                <li class="">
                    
    <a class="" href="preprocessing/text/">文本预处理</a>
                </li>
                <li class="">
                    
    <a class="" href="preprocessing/image/">图像预处理</a>
                </li>
    </ul>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="losses/">损失函数 Losses</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="metrics/">评估标准 Metrics</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="optimizers/">优化器 Optimizers</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="activations/">激活函数 Activations</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="callbacks/">回调函数 Callbacks</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="datasets/">常用数据集 Datasets</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="applications/">应用 Applications</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="backend/">后端 Backend</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="initializers/">初始化 Initializers</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="regularizers/">正则化 Regularizers</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="constraints/">约束 Constraints</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="visualization/">可视化 Visualization</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="scikit-learn-api/">Scikit-learn API</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="utils/">工具</a>
	    </li>
          
            <li class="toctree-l1">
		
    <a class="" href="contributing/">贡献</a>
	    </li>
          
            <li class="toctree-l1">
		
    <span class="caption-text">经典样例</span>
    <ul class="subnav">
                <li class="">
                    
    <a class="" href="examples/addition_rnn/">Addition RNN</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/babi_rnn/">Baby RNN</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/babi_memnn/">Baby MemNN</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/cifar10_cnn/">CIFAR-10 CNN</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/cifar10_cnn_capsule/">CIFAR-10 CNN-Capsule</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/cifar10_cnn_tfaugment2d/">CIFAR-10 CNN with augmentation (TF)</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/cifar10_resnet/">CIFAR-10 ResNet</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/conv_filter_visualization/">Convolution filter visualization</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/image_ocr/">Image OCR</a>
                </li>
                <li class="">
                    
    <a class="" href="examples/imdb_bidirectional_lstm/">Bidirectional LSTM</a>
                </li>
    </ul>
	    </li>
          
        </ul>
      </div>
      &nbsp;
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
        <a href=".">Keras 中文文档</a>
      </nav>

      
      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href=".">Docs</a> &raquo;</li>
    
      
    
    <li>主页</li>
    <li class="wy-breadcrumbs-aside">
      
        <a href="https://github.com/keras-team/keras-docs-zh/edit/master/docs/index.md"
          class="icon icon-github"> Edit on GitHub</a>
      
    </li>
  </ul>
  <hr/>
</div>
          <div role="main">
            <div class="section">
              
                <h1 id="keras-python">Keras: 基于 Python 的深度学习库</h1>
<p><img src='https://s3.amazonaws.com/keras.io/img/keras-logo-2018-large-1200.png', style='max-width: 600px;'></p>
<h2 id="keras">你恰好发现了 Keras。</h2>
<p>Keras 是一个用 Python 编写的高级神经网络 API，它能够以 <a href="https://github.com/tensorflow/tensorflow">TensorFlow</a>, <a href="https://github.com/Microsoft/cntk">CNTK</a>, 或者 <a href="https://github.com/Theano/Theano">Theano</a> 作为后端运行。Keras 的开发重点是支持快速的实验。<em>能够以最小的时延把你的想法转换为实验结果，是做好研究的关键。</em></p>
<p>如果你在以下情况下需要深度学习库，请使用 Keras：</p>
<ul>
<li>允许简单而快速的原型设计（由于用户友好，高度模块化，可扩展性）。</li>
<li>同时支持卷积神经网络和循环神经网络，以及两者的组合。</li>
<li>在 CPU 和 GPU 上无缝运行。</li>
</ul>
<p>查看文档，请访问 <a href="https://keras-zh.readthedocs.io/">Keras.io</a>。</p>
<p>Keras 兼容的 Python 版本: <strong>Python 2.7-3.6</strong>。</p>
<hr />
<h2 id="_1">指导原则</h2>
<ul>
<li>
<p><strong>用户友好。</strong> Keras 是为人类而不是为机器设计的 API。它把用户体验放在首要和中心位置。Keras 遵循减少认知困难的最佳实践：它提供一致且简单的 API，将常见用例所需的用户操作数量降至最低，并且在用户错误时提供清晰和可操作的反馈。</p>
</li>
<li>
<p><strong>模块化。</strong> 模型被理解为由独立的、完全可配置的模块构成的序列或图。这些模块可以以尽可能少的限制组装在一起。特别是神经网络层、损失函数、优化器、初始化方法、激活函数、正则化方法，它们都是可以结合起来构建新模型的模块。</p>
</li>
<li>
<p><strong>易扩展性。</strong> 新的模块是很容易添加的（作为新的类和函数），现有的模块已经提供了充足的示例。由于能够轻松地创建可以提高表现力的新模块，Keras 更加适合高级研究。</p>
</li>
<li>
<p><strong>基于 Python 实现。</strong> Keras 没有特定格式的单独配置文件。模型定义在 Python 代码中，这些代码紧凑，易于调试，并且易于扩展。</p>
</li>
</ul>
<hr />
<h2 id="30-keras">快速开始：30 秒上手 Keras</h2>
<p>Keras 的核心数据结构是 <strong>model</strong>，一种组织网络层的方式。最简单的模型是 <a href="/getting-started/sequential-model-guide">Sequential 顺序模型</a>，它由多个网络层线性堆叠。对于更复杂的结构，你应该使用 <a href="/getting-started/functional-api-guide">Keras 函数式 API</a>，它允许构建任意的神经网络图。</p>
<p><code>Sequential</code> 模型如下所示：</p>
<pre><code class="python">from keras.models import Sequential

model = Sequential()
</code></pre>

<p>可以简单地使用 <code>.add()</code> 来堆叠模型：</p>
<pre><code class="python">from keras.layers import Dense

model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))
</code></pre>

<p>在完成了模型的构建后, 可以使用 <code>.compile()</code> 来配置学习过程：</p>
<pre><code class="python">model.compile(loss='categorical_crossentropy',
              optimizer='sgd',
              metrics=['accuracy'])
</code></pre>

<p>如果需要，你还可以进一步地配置你的优化器。Keras 的核心原则是使事情变得相当简单，同时又允许用户在需要的时候能够进行完全的控制（终极的控制是源代码的易扩展性）。</p>
<pre><code class="python">model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))
</code></pre>

<p>现在，你可以批量地在训练数据上进行迭代了：</p>
<pre><code class="python"># x_train 和 y_train 是 Numpy 数组 -- 就像在 Scikit-Learn API 中一样。
model.fit(x_train, y_train, epochs=5, batch_size=32)
</code></pre>

<p>或者，你可以手动地将批次的数据提供给模型：</p>
<pre><code class="python">model.train_on_batch(x_batch, y_batch)
</code></pre>

<p>只需一行代码就能评估模型性能：</p>
<pre><code class="python">loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
</code></pre>

<p>或者对新的数据生成预测：</p>
<pre><code class="python">classes = model.predict(x_test, batch_size=128)
</code></pre>

<p>构建一个问答系统，一个图像分类模型，一个神经图灵机，或者其他的任何模型，就是这么的快。深度学习背后的思想很简单，那么它们的实现又何必要那么痛苦呢？</p>
<p>有关 Keras 更深入的教程，请查看：</p>
<ul>
<li><a href="/getting-started/sequential-model-guide">开始使用 Sequential 模型</a></li>
<li><a href="/getting-started/functional-api-guide">开始使用函数式 API</a></li>
</ul>
<p>在代码仓库的 <a href="https://github.com/keras-team/keras/tree/master/examples">examples 目录</a>中，你会找到更多高级模型：基于记忆网络的问答系统、基于栈式 LSTM 的文本生成等等。</p>
<hr />
<h2 id="_2">安装指引</h2>
<p>在安装 Keras 之前，请安装以下后端引擎之一：TensorFlow，Theano，或者 CNTK。我们推荐 TensorFlow 后端。</p>
<ul>
<li><a href="https://www.tensorflow.org/install/">TensorFlow 安装指引</a>。</li>
<li><a href="http://deeplearning.net/software/theano/install.html#install">Theano 安装指引</a>。</li>
<li><a href="https://docs.microsoft.com/en-us/cognitive-toolkit/setup-cntk-on-your-machine">CNTK 安装指引</a>。</li>
</ul>
<p>你也可以考虑安装以下<strong>可选依赖</strong>：</p>
<ul>
<li><a href="https://docs.nvidia.com/deeplearning/sdk/cudnn-install/">cuDNN</a> (如果你计划在 GPU 上运行 Keras，建议安装)。</li>
<li>HDF5 和 <a href="http://docs.h5py.org/en/latest/build.html">h5py</a> (如果你需要将 Keras 模型保存到磁盘，则需要这些)。</li>
<li><a href="https://graphviz.gitlab.io/download/">graphviz</a> 和 <a href="https://github.com/erocarrera/pydot">pydot</a> (用于<a href="https://keras.io/zh/visualization/">可视化工具</a>绘制模型图)。</li>
</ul>
<p>然后你就可以安装 Keras 本身了。有两种方法安装 Keras：</p>
<ul>
<li><strong>使用 PyPI 安装 Keras (推荐)：</strong></li>
</ul>
<pre><code class="sh">sudo pip install keras
</code></pre>

<p>如果你使用 virtualenv 虚拟环境, 你可以避免使用 sudo：</p>
<pre><code class="sh">pip install keras
</code></pre>

<ul>
<li><strong>或者：使用 GitHub 源码安装 Keras：</strong></li>
</ul>
<p>首先，使用 <code>git</code> 来克隆 Keras：</p>
<pre><code class="sh">git clone https://github.com/keras-team/keras.git
</code></pre>

<p>然后，<code>cd</code> 到 Keras 目录并且运行安装命令：</p>
<pre><code class="sh">cd keras
sudo python setup.py install
</code></pre>

<hr />
<h2 id="keras_1">配置你的 Keras 后端</h2>
<p>默认情况下，Keras 将使用 TensorFlow 作为其张量操作库。请<a href="https://keras.io/zh/backend/">跟随这些指引</a>来配置其他 Keras 后端。</p>
<hr />
<h2 id="_3">技术支持</h2>
<p>你可以提出问题并参与开发讨论：</p>
<ul>
<li><a href="https://groups.google.com/forum/#!forum/keras-users">Keras Google group</a>。</li>
<li><a href="https://kerasteam.slack.com">Keras Slack channel</a>。 使用 <a href="https://keras-slack-autojoin.herokuapp.com/">这个链接</a> 向该频道请求邀请函。</li>
<li>或者加入 Keras 深度学习交流群，协助文档的翻译工作，群号为 951623081。</li>
</ul>
<p>你也可以在 <a href="https://github.com/keras-team/keras/issues">GitHub issues</a> 中发布<strong>漏洞报告和新功能请求</strong>（仅限于此）。注意请先阅读<a href="https://github.com/keras-team/keras/blob/master/CONTRIBUTING.md">规范文档</a>。</p>
<hr />
<h2 id="keras_2">为什么取名为 Keras?</h2>
<p>Keras (κέρας) 在希腊语中意为 <em>号角</em> 。它来自古希腊和拉丁文学中的一个文学形象，首先出现于 <em>《奥德赛》</em> 中， 梦神 (<em>Oneiroi</em>, singular <em>Oneiros</em>) 从这两类人中分离出来：那些用虚幻的景象欺骗人类，通过象牙之门抵达地球之人，以及那些宣告未来即将到来，通过号角之门抵达之人。 它类似于文字寓意，κέρας (号角) / κραίνω (履行)，以及 ἐλέφας (象牙) / ἐλεφαίρομαι (欺骗)。</p>
<p>Keras 最初是作为 ONEIROS 项目（开放式神经电子智能机器人操作系统）研究工作的一部分而开发的。</p>
<blockquote>
<p><em>"Oneiroi 超出了我们的理解 - 谁能确定它们讲述了什么故事？并不是所有人都能找到。那里有两扇门，就是通往短暂的 Oneiroi 的通道；一个是用号角制造的，一个是用象牙制造的。穿过尖锐的象牙的 Oneiroi 是诡计多端的，他们带有一些不会实现的信息； 那些穿过抛光的喇叭出来的人背后具有真理，对于看到他们的人来说是完成的。"</em> Homer, Odyssey 19. 562 ff (Shewring translation).</p>
</blockquote>
<hr />
              
            </div>
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="why-use-keras/" class="btn btn-neutral float-right" title="为什么选择 Keras?">Next <span class="icon icon-circle-arrow-right"></span></a>
      
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <!-- Copyright etc -->
    
  </div>

  Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
      
        </div>
      </div>

    </section>

  </div>

  <div class="rst-versions" role="note" style="cursor: pointer">
    <span class="rst-current-version" data-toggle="rst-current-version">
      
          <a href="https://github.com/keras-team/keras-docs-zh/" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
      
      
      
        <span style="margin-left: 15px"><a href="why-use-keras/" style="color: #fcfcfc">Next &raquo;</a></span>
      
    </span>
</div>
    <script>var base_url = '.';</script>
    <script src="js/theme.js" defer></script>
      <script src="search/main.js" defer></script>

</body>
</html>

<!--
MkDocs version : 1.0.4
Build Date UTC : 2019-10-02 12:55:50
-->
